let usersList = []; // 存储用户数据


// 打开添加用户模态框


// 打开编辑用户模态框
function openEditUserModal(userId) {
    const user = usersList.find(item => item.id.toString() === userId);
    if (!user) return;

    document.getElementById('user-modal-title').textContent = '编辑用户';
    document.getElementById('user-id').value = user.id;
    document.getElementById('user-username').value = user.username;
    document.getElementById('user-role').value = user.role;
    // 密码框留空（提示留空不修改）
    document.getElementById('user-password').placeholder = '留空则不修改密码';
    document.getElementById('user-modal').classList.remove('hidden');
}



// 保存用户（新增/编辑）
function saveUser(e) {
    e.preventDefault();

    const userId = document.getElementById('user-id').value;
    const username = document.getElementById('user-username').value.trim();
    const password = document.getElementById('user-password').value.trim();
    const role = document.getElementById('user-role').value;

    // 基础验证
    if (!username) {
        alert('用户名不能为空！');
        return;
    }

    // 检查用户名重复（排除当前编辑用户）
    const isDuplicate = usersList.some(item => 
        item.username === username && item.id.toString() !== userId
    );
    if (isDuplicate) {
        alert('该用户名已存在，请更换！');
        return;
    }

    // 新增用户必须填密码
    if (!userId && !password) {
        alert('新增用户必须设置密码！');
        return;
    }

    if (userId) {
        // 编辑用户：密码留空则不修改
        usersList = usersList.map(item => {
            if (item.id.toString() === userId) {
                return {
                    ...item,
                    username: username,
                    role: role,
                    // 密码不为空则更新
                    ...(password ? { password: password } : {})
                };
            }
            return item;
        });
        alert('用户编辑成功！');
    } else {
        // 新增用户
        const newId = Math.max(...usersList.map(item => item.id), 0) + 1;
        usersList.unshift({
            id: newId,
            username: username,
            password: password,
            role: role,
            createTime: new Date().toLocaleDateString('zh-CN')
        });
        alert('用户添加成功！');
    }

    // 重新渲染表格并关闭模态框
    renderUserTable(usersList);
    closeUserModal();
}

// 删除用户
function deleteUser(userId) {
    const user = usersList.find(item => item.id.toString() === userId);
    if (!user) return;

    // 禁止删除管理员
    if (user.role === '管理员' && usersList.filter(u => u.role === '管理员').length === 1) {
        alert('不能删除唯一的管理员账户！');
        return;
    }

    if (confirm(`确定要删除用户"${user.username}"吗？`)) {
        usersList = usersList.filter(item => item.id.toString() !== userId);
        renderUserTable(usersList);
        alert('用户删除成功！');
    }
}

// 页面加载初始化
window.onload = initUserManagement;

